JSON Mode
2023年11月6日にOpenAIが初めての開発者向けのイベントであるOpenAI DevDayを開催した。
さまざまなアップデートがあったが、そのうちJSONを返すことが保証されたJSONモードがサポートされた
code:python
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-3.5-turbo-1106",
response_format={ "type": "json_object" },
messages=[
{"role": "system", "content": "You are a helpful assistant designed to output JSON."},
{"role": "user", "content": "Who won the world series in 2020?"}
]
)
print(response.choices0.message.content) -> "content": "{\"winner\": \"Los Angeles Dodgers\"}"`
response_format={ "type": "json_object" }と指定することで、JSONで返してくれる
注意点
モデルのうち、gpt-4-1106-previewとgpt-3.5-turbo-1106のみでJSONモードが利用可能
プロンプトにJSONという言葉がない場合、エラーになる
レスポンス内容のうち、finish_reasonがlengthの場合、メッセージが切れている可能性があります。
JSONモードを使用すると、出力データが正しいJSON形式であることは保証される。しかし、そのデータが特定のスキーマ(データの構造や形式)に一致するかどうかは保証されない。
参考